/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.going.logica;

import co.com.going.modelo.Solicitud;
import co.com.going.persistencia.IDAOsolicitud;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author Olguita
 */
@Stateless
public class LogicaSolicitud implements ILogicaSolicitud {

    @EJB
    private IDAOsolicitud iDAOsolicitud;
    
    @Override
    public void crearSolicitud(Solicitud solicitud) throws Exception {
        
        if(solicitud==null){
          throw new Exception("La Solicitud no tiene Informacion");
        }
        
        //Solicitud objSolicitud= iDAOsolicitud.BuscarSolicitud(solicitud.getCodSolicitud());
        
        //if(objSolicitud!=null){
          //  throw new Exception("La Solicitud ya Existe");
        //}
        
        if(solicitud.getFecha()==null){
            throw new Exception("La Fecha no puede ser Vacia");
        }
        
        if(solicitud.getCedulaSolicitud().getCedula()==null||solicitud.getCedulaSolicitud().getCedula()==0){
            throw new Exception("La Solicitud Debe de tener Asignado un Cliente");
        }
            
        iDAOsolicitud.crearSolicitud(solicitud);
        
    }

    @Override
    public void eliminarSolicitud(Solicitud solicitud) throws Exception {
        
        if(solicitud==null){
           throw new Exception("La Solicitud no tiene Informacion");
        }
        
        //Solicitud objSolicitud= iDAOsolicitud.BuscarSolicitud(solicitud.getCodSolicitud());
        
        //if(objSolicitud==null){
          //  throw new Exception("La Solicitud No Existe");
        //}
        
        iDAOsolicitud.eliminarSolicitud(solicitud);
       
    }

    @Override
    public void modificarSolicitud(Solicitud solicitud) throws Exception {
        
        if(solicitud==null){
            throw new Exception("La Solicitud no tiene Informacion");
        }
        
        Solicitud objSlicitud= iDAOsolicitud.BuscarSolicitud(solicitud.getCodSolicitud());
        
        if(objSlicitud==null){
            throw new Exception("La Solicitud No Existe");
        }
        
        if(solicitud.getFecha()==null){
           throw new Exception("La Fecha no puede ser Vacia");
        }
         
        if(solicitud.getCedulaSolicitud().getCedula()==null||solicitud.getCedulaSolicitud().getCedula()==0){
           throw new Exception("La Solicitud Debe de tener Asignado un Cliente");
        }
        
        iDAOsolicitud.modificarSolicitud(solicitud);
        
    }

    @Override
    public Solicitud BuscarSolicitud(Integer IDSolicitud) throws Exception {
        
        if(IDSolicitud==0||IDSolicitud==null){
            throw new Exception(" Ingrese El Id de la solicitud que desee buscar");
        }
        
       return iDAOsolicitud.BuscarSolicitud(IDSolicitud);
    }

    @Override
    public List<Solicitud> Solicitudes() throws Exception {
        
        return iDAOsolicitud.Solicitudes();
        
    }
    
}
